#!/bin/bash

# 部署脚本 - Yuheng Admin 管理系统
# 使用方法: ./deploy.sh

set -e

echo "🚀 开始部署 Yuheng Admin 管理系统..."

# 1. 安装依赖
echo "📦 安装依赖..."
npm install --production

# 2. 构建项目
echo "🔨 构建项目..."
npm run build

# 3. 创建必要目录
echo "📁 创建目录..."
mkdir -p logs
mkdir -p uploads

# 4. 设置权限
echo "🔐 设置权限..."
chmod +x dist/main.js

# 5. 检查PM2是否安装
if ! command -v pm2 &> /dev/null; then
    echo "📥 安装PM2..."
    npm install -g pm2
fi

# 6. 启动应用
echo "🌟 启动应用..."
pm2 start ecosystem.config.js --env production

# 7. 保存PM2配置
echo "💾 保存PM2配置..."
pm2 save

# 8. 设置开机自启
echo "🔄 设置开机自启..."
pm2 startup

echo "✅ 部署完成！"
echo "📊 查看状态: pm2 status"
echo "📝 查看日志: pm2 logs yuheng-admin"
echo "🌐 应用地址: http://localhost:3000"
echo "📚 API文档: http://localhost:3000/api-docs"
